草庐IT

ios - SourceKitService 终止

全部标签

c - 策略在终止时刷新文件输出

我有一个监控高速通信链路并将日志写入文件(通过标准C文件IO)的应用程序。对到达链接的消息的响应时间很重要,因此我有意不在每条消息处fflush文件,因为这会减慢我的响应时间。然而,在某些情况下,我的应用程序会“暴力”终止(例如,通过终止进程),并且在这些情况下,最后几条日志消息不会被写入(即使通信链路已经安静了一段时间)。我可以使用哪些技术/策略来确保我的大部分数据都已刷新,同时又不影响响应速度?编辑:应用程序在Windows上运行 最佳答案 使用线程是对此的标准解决方案。让您的数据收集代码将数据写入线程安全队列,并使用信号量向写

windows - 在 Delphi 下终止应用程序时线程未终止

假设我有一个线程在应用程序终止时仍在运行(此线程无法终止,因为它等待Windowsapi调用返回这可能会很长......)如果应用程序关闭,线程会发生什么情况?它能引发异常吗(我在Delphi下)? 最佳答案 我会说异常(exception)是非常合理的。当您调用Application.Terminate时,这将导致以下事件序列:调用PostQuitMessage。Application.Terminated被设置为True。Application.Run返回。System.Halt被调用。运行退出过程,特别是DoneApplica

.net - 程序终止自身进程的正确方法是什么(Windows)

C#.NET3.5我有一个控制台应用程序正在被计算机上的另一个应用程序调用。此控制台应用程序持续运行,并从“父”进程的stdin上监听数据。但是,当父级停止或终止时,它启动的控制台应用程序会继续。在正常情况下,它会闲置等待来自标准输入的输入,使用最少的资源。然而,一旦父进程离开,这个控制台应用程序就会使CPU达到峰值,并使它运行的核心资源匮乏,利用率接近100%。这一直持续到我手动终止进程。理想情况下,调用父进程会自行清理,特别是因为这是在正常(非异常)“停止”条件下发生的。不幸的是,这个父进程不在我的手中。我的第一个想法是从控制台应用程序中获取调用父级,并监控其PID。如果父进程消失

c++ - 如何正确终止 dll 中的挂起线程?

大家好,我有一个包含错误的第三方库。当我调用一个函数时,它可能会挂起。库函数在dll中被调用。我决定将调用移到线程中并等待一段时间。如果线程完成,则确定。如果不是——我应该强制终止它。此处的简化示例:unsignedCounter=0;voidf(){HANDLEhThread;unsignedthreadID;//Createthesecondthread.hThread=(HANDLE)_beginthreadex(NULL,0,DoSomething,NULL,0,&threadID);if(WAIT_TIMEOUT==WaitForSingleObject(hThread,50

windows - Closehandle() 不终止进程

在CloseHandle()中关闭其句柄后,进程未终止。我有一个由CreateProcess()api创建的进程。即使在关闭其句柄后,它仍在运行。在msdn中,他们说CloseHandle()关闭句柄并且不会终止进程。必须为此调用终止线程。那为什么要CloseHandle()呢?但是当我检查CloseHandle()的返回值时,它成功了。如果是这样,我想知道在这个CloseHandle()中实际做了什么以及它为什么成功返回。我想知道使用它的句柄可以在进程上完成哪些所有操作。我觉得误导了,因为CloseHandle()成功了,但进程仍在继续!进程句柄中实际包含的内容也很棒,与其他类型的句

windows - 如何在 Windows 7 x64 (node.js) 上安装 socket.io

在Windows7家庭高级版64位上运行已下载:node.js(0.8.7-x64)作为来自官方网站的windowsmsimake-3.81来自http://gnuwin32.sourceforge.net/packages/make.htm(完整包,来源除外)用于网络的MicrosoftvisualStudio2012Express然后按照http://blog.nowjs.com/running-nowjs-natively-on-windows中的步骤操作,这意味着:安装MicrosoftVisualC++Runtime(我得到的是x64版本)从github.com/Flotyp

java - 在 Windows 7 中不从命令行强制终止 JVM

我有在JVM中运行的Cobertura检测jar。当我在运行应用程序的Windows控制台中按Ctrl-C时,JVM结束并且Cobertura结果成功刷新到cobertura.ser文件。但是我需要用命令/工具(不是Ctrl-C)停止这个JVM,就像Linux中的“softkill”(没有“-9”参数的“kill”命令)。当我使用“taskkill/PID1234”时,它写道:D:\>taskkill/PID1234ERROR:TheprocesswithPID1234couldnotbeterminated.Reason:Thisprocesscanonlybeterminatedf

c# - 在 .Net 3.5 中使用 Ninject 时 System.Core 的 System.Io.FileNotFoundException

我将Ninject(v3.2.2.0)与基于.net3.5框架构建的工具一起使用。这一直很好-直到几周前我搁置开发。我再次拿起它为发布做准备,但它不再正常-它仍然可以毫无问题地编译,但现在每当我尝试运行它时都会收到FileNotFoundException:System.IO.FileNotFoundExceptionoccurredMessage=Couldnotloadfileorassembly'System.Core,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e'oroneofitsdepende

Windows 中的 java.io.IOException : The process cannot access the file because another process has locked a portion - when using IOUtils. copyLarge()

问题源于此tryblock中的特定代码行:try{fInputStream=newFileInputStream(path);#thisLinebyteCount+=IOUtils.copyLarge(fInputStream,fOutputStream);fileCount++;}堆栈跟踪看起来像这样:java.io.IOException:Theprocesscannotaccessthefilebecauseanotherprocesshaslockedaportionofthefileatjava.io.FileInputStream.readBytes(NativeMetho

node.js - 优雅地终止 Windows 中分离的 node.js 生成的子进程

不是this的副本:我可以很好地终止进程,我想知道如何在进程内检测到它正在被终止,并正常关闭。概览:我有一个CLI工具来生成和终止子node.js进程。演示代码包含在这三个文件中:spawn.js--将生成分离的child.js脚本。为简单起见,我将child的stdio通过管道传输到out.log文件child.js--一个写入文件的简单计数器,使用readline方法检测Windows中的模拟SIGINTkill.js--使用子进程的PID调用process.kill()代码:spawn.js'usestrict';varspawn=require('child_process')